#include <conio.h> 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h> 

void inputString(const char * prompt, char * input)
{
	input[0] = 0;
	printf("%s", prompt);
	scanf("%[^\n]", input);
	fflush(stdin);
}
int oord[256];
void init()
{
	int i;
	char * alpha = "0123456789ABCDEF";
	for (i = 0; i < 256; i++)
	{
		oord[i] = -1;
	}
	for (i = 0; i < strlen(alpha); i++)
	{
		oord[alpha[i]] = i;
	}
}
int ord( char i)
{
	int j = (int) i;
	if ((j<=57)&&(j>=48))
	{
		return j-48;
	}
	if ((j<=90)&&(j>=65))
	{
		return j-55;
	}
	if ((j<=122)&&(j>=97))
	{
		return j-87;
	}
}

int st(int x, int n)
{
	int xk;
	if (n==0)
	{
		return 1;
	}
	else {
		if ((n & 1) == 1)
		{
			return st (x, n-1) * x;
		}
		else {
			xk = st (x, n>>1);
			return xk*xk; ;
		}
	}
} 


int parse_number(char *string, int base, int *is_ok)
{
	int i, stp, a, sum=0;
	int L=strlen(string);
	stp=0;
	for (i=L-1; i>-1; i--)
	{
		//printf("%s\n", string[i]);
		//a=ord(string[i]);
		a=oord[string[i]];
		if (a>=base || a < 0)
		{
			*is_ok=0;
			return 0;
		}
		sum=sum + a*st(base, stp);
		stp++;
	}
	*is_ok=1;
	return sum;
}



int main()
{
	int n, is=1, ch;
	char  string[1000];
	init();
	inputString("input string: ", string);
	printf ("a teper sistemu chiclenia ");
	scanf("%d", &n);
	printf("\n");
	ch=parse_number(string, n, &is);
	if (is==0)
	{
		printf ("error \n");
	}
	else
	{
		printf ("%d\n", ch);
	}



	system ("PAUSE");
}